/// 路由 * Demo

import type { RouteRecordRaw } from 'vue-router'

export default [

  //# CRUD
  {
    name: 'Demo站点管理',
    path: '/demo/crud',
    component: () => import('@/views/demo/CrudDemo/Index.vue'),
    meta: {
      title: '站点管理',
      group: 'Demo',
    },
  },
  {
    name: 'Demo站点管理Tsx',
    path: '/demo/crud-tsx',
    component: () => import('@/views/demo/CrudDemoTsx/Index.tsx'),
    meta: {
      title: '站点管理Tsx',
      group: 'Demo',
    },
  },

  //# 表单
  {
    name: 'DemoExForm',
    path: '/demo/form',
    component: () => import('@/views/demo/FormDemo/Index.vue'),
    meta: {
      title: 'ExForm Demo',
      group: 'ExForm',
    },
  },
  {
    name: 'DemoExFormRule',
    path: '/demo/form/rule',
    component: () => import('@/views/demo/FormDemo/Rule.vue'),
    meta: {
      title: 'ExForm Rule Demo',
      group: 'ExForm',
    },
  },
  {
    name: 'DemoExFormUseForm',
    path: '/demo/form/use-form',
    component: () => import('@/views/demo/FormDemo/UseForm.vue'),
    meta: {
      title: 'ExForm UseForm Demo',
      group: 'ExForm',
    },
  },
  {
    name: 'DemoExFormUseFormTsx',
    path: '/demo/form/use-form-tsx',
    component: () => import('@/views/demo/FormDemo/UseFormTsx.vue'),
    meta: {
      title: 'ExForm UseFormTsx Demo',
      group: 'ExForm',
    },
  },

  //# 搜索栏
  {
    name: 'DemoExSearchbar',
    path: '/demo/searchbar',
    component: () => import('@/views/demo/SearchbarDemo/Index.vue'),
    meta: {
      title: 'ExSearchbar Demo',
      group: 'ExSearchbar',
    },
  },
  {
    name: 'DemoUseSearchbar',
    path: '/demo/use-searchbar',
    component: () => import('@/views/demo/SearchbarDemo/UseSearchbar.vue'),
    meta: {
      title: 'UseSearchbar Demo',
      group: 'ExSearchbar',
    },
  },

  //# 表格
  {
    name: 'DemoExGird',
    path: '/demo/gird',
    component: () => import('@/views/demo/GirdDemo/Index.vue'),
    meta: {
      title: 'ExGird Demo',
      group: 'ExGird',
    },
  },
  {
    name: 'DemoVxeGrid',
    path: '/demo/gird/vxe-grid',
    component: () => import('@/views/demo/GirdDemo/VxeGrid.vue'),
    meta: {
      title: 'VxeGrid Demo',
      group: 'ExGird',
    },
  },
  {
    name: 'DemoVxeGridPage',
    path: '/demo/gird/vxe-grid-page',
    component: () => import('@/views/demo/GirdDemo/VxeGridPage.vue'),
    meta: {
      title: 'VxeGridPage Demo',
      group: 'ExGird',
    },
  },
  {
    name: 'DemoUseGrid',
    path: '/demo/gird/use-grid',
    component: () => import('@/views/demo/GirdDemo/UseGrid.vue'),
    meta: {
      title: 'UseGrid Demo',
      group: 'ExGird',
    },
  },
  {
    name: 'DemoQueryPage',
    path: '/demo/gird/query-page',
    component: () => import('@/views/demo/GirdDemo/QueryPage.vue'),
    meta: {
      title: 'QueryPage Demo',
      group: 'ExGird',
    },
  },
  {
    name: 'DemoQueryData',
    path: '/demo/gird/query-data',
    component: () => import('@/views/demo/GirdDemo/QueryData.vue'),
    meta: {
      title: 'QueryData Demo',
      group: 'ExGird',
    },
  },

  //# 弹框
  {
    name: 'DemoExDialog',
    path: '/demo/dialog',
    component: () => import('@/views/demo/DialogDemo/Index.vue'),
    meta: {
      title: 'ExDialog Demo',
      group: 'ExDialog',
    },
  },
  {
    name: 'DemoUseDialog',
    path: '/demo/dialog/use-dialog',
    component: () => import('@/views/demo/DialogDemo/UseDialog.vue'),
    meta: {
      title: 'UseDialog Demo',
      group: 'ExDialog',
    },
  },

  //# 加载
  {
    name: 'DemoExLoading',
    path: '/demo/loading',
    component: () => import('@/views/demo/LoadingDemo/Index.vue'),
    meta: {
      title: 'ExLoading Demo',
      group: 'ExLoading',
    },
  },

  //# 图标
  {
    name: 'DemoExIcon',
    path: '/demo/icon',
    component: () => import('@/views/demo/IconDemo/Index.vue'),
    meta: {
      title: 'ExIcon Demo',
      group: 'ExIcon',
    },
  },

  //# 下拉框
  {
    name: 'DemoExSelect',
    path: '/demo/select',
    component: () => import('@/views/demo/SelectDemo/Index.vue'),
    meta: {
      title: 'ExSelect Demo',
      group: 'ExSelect',
    },
  },

  //# 日期选择器
  {
    name: 'DemoExDatePicker',
    path: '/demo/picker/date-picker',
    component: () => import('@/views/demo/PickerDemo/DatePickerDemo.vue'),
    meta: {
      title: 'ExDatePicker Demo',
      group: 'ExPicker',
    },
  },
  {
    name: 'DemoExRangePicker',
    path: '/demo/picker/range-picker',
    component: () => import('@/views/demo/PickerDemo/RangePickerDemo.vue'),
    meta: {
      title: 'ExRangePicker Demo',
      group: 'ExPicker',
    },
  },

  //# 图表
  {
    name: 'DemoExCharts',
    path: '/demo/charts',
    component: () => import('@/views/demo/ChartsDemo/Index.vue'),
    meta: {
      title: 'ExCharts Demo',
      group: 'ExCharts',
    },
  },

  //# 布局

  {
    name: 'DemoExLayout',
    path: '/demo/antd-vue/tree',
    component: () => import('@/views/demo/LayoutDemo/Index.tsx'),
    meta: {
      title: 'ExLayout Demo',
      group: 'ExLayout',
    },
  },

  //# 钩子
  {
    name: 'DemoUseSelecty',
    path: '/demo/use-hook/use-selecty',
    component: () => import('@/views/demo/UseHookDemo/UseSelecty.vue'),
    meta: {
      title: 'UseSelecty Demo',
      group: 'UseHook',
    },
  },
  {
    name: 'DemoUseTreeUnit',
    path: '/demo/use-hook/use-tree-unit',
    component: () => import('@/views/demo/UseHookDemo/UseTreeUnit.vue'),
    meta: {
      title: 'UseTreeUnit Demo',
      group: 'UseHook',
    },
  },

  //# Antd Vue

  {
    name: 'DemoAntdVue',
    path: '/demo/antd-vue/tree',
    component: () => import('@/views/demo/AntdVueDemo/ATreeDemo/Index.tsx'),
    meta: {
      title: 'ATree Demo',
      group: 'AntdVue',
    },
  },
] as RouteRecordRaw[]
